package com.interview.exception;

import com.itheima.common.exception.LeadNewsException;
import com.itheima.common.pojo.Result;
import com.itheima.common.pojo.StatusCode;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * @author ljh
 * @version 1.0
 * @date 2021/5/3 10:12
 * @description 标题
 * @package com.itheima.common.exception
 */
@RestControllerAdvice
public class GlobalExceptionHandler {


    //写一个方法  方法 用于当controller发送异常的时候被调用 要捕获异常 代替 controller 去返回给前端
    //系统异常
    @ExceptionHandler(value=Exception.class)
    public Result handlerException(Exception e){
        e.printStackTrace();
        return Result.error(e.getMessage());
    }

    //LeadNewsException业务上的异常 才进行处理
    @ExceptionHandler(value= LeadNewsException.class)
    public Result handlerLeadNewsException(Exception e){
        e.printStackTrace();
        return Result.errorMessage(e.getMessage(), StatusCode.CUSTOM_FAILURE.code(),null);
    }

}
